#ifndef KERNEL_H
#define KERNEL_H

#include "multiboot.h"

//==================================================================type definations
typedef unsigned int	u32int ;
typedef unsigned short	u16int ;
typedef unsigned char	u8int ;
typedef unsigned char	uchar ;

typedef int		s32int ;
typedef short	s16int ;
typedef char	s8int ;
typedef char	schar ;


//==================================================================gdt related funcs
void gdt_install();

//==================================================================string related funcs
void *memcpy(void *dest, const void *src, u32int count);
void *memset(void *dest, uchar val, u32int count);
void *memsetw(void *dest, u16int val, u32int count);
u32int strlen(const schar *str);

//==================================================================screen related funcs
void cls();
void putch( schar c);
void puts( schar *str);
void settextcolor( uchar forecolor, uchar backcolor);
void init_video();

//==================================================================I/O related funcs
uchar inportb (u16int _port);
void outportb (u16int _port, u16int _data);



#endif